<?php session_start();
    include_once ("../bussines/ProductoMovimientoBR.php");
    include_once ("../entity/ProductoMovimiento.php");
    include_once ("../entity/Retorno.php");
    include_once("generales.php");
    
    if (file_exists("../entity/Constantes.php")) {
        include_once("../entity/Constantes.php");
    }
    
    if(isset($_POST["opc"])){
        
        $nombre = $_POST["nombre"];
        $num_doc = $_POST["num_doc"];
        $codigo = $_POST["codigo"];
        $cod_producto = $_POST["cod_producto"];
        $producto = $_POST["producto"];
        $cod_movimiento = $_POST["cod_movimiento"];
        $cod_motivo = $_POST["cod_motivo"];
        $cod_proveedor = $_POST["cod_proveedor"];
        $fecha_registro = date_to_stamp($_POST["fecha_registro"]);
        $cantidad = $_POST["cantidad"];
        $duracion= $_POST["duracion"];
        $num_doc = $_POST["num_doc"];
        
        $usuario_crea = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        $usuario_modi = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        
        if($_POST["opc"]=="bus"){
            $page = $_POST['page'];
            $limit = $_POST['rows'];
            $sidx = $_POST['sidx'];
            $sord = $_POST['sord'];
            if (!$sidx){
               $sidx = 1;
            }
            echo mostrarProductoMovimientoGrilla($num_doc,$producto,$cod_movimiento,$fecha_registro, $page, $limit, $sidx, $sord);
        }elseif($_POST["opc"]=="ins"){
            echo insertar($codigo,$cod_movimiento,$cod_motivo,$fecha_registro,$cantidad,$usuario_crea,$cod_proveedor,$duracion,$num_doc);
        }elseif($_POST["opc"]=="cod"){
            echo generarCodigo();
        }elseif($_POST["opc"]=="valCant"){
            echo validarCantidad($codigo,$cantidad,$cod_movimiento);
        }
    }
    
    function validarCantidad($codigo,$cantidad,$cod_movimiento){
        $val = new ProductoMovimientoBR();        
        $result = $val->validadCantidad($codigo,$cantidad,$cod_movimiento);
        
        return $result;
    }
    
    function insertar($codigo,$cod_movimiento,$cod_motivo,$fecha_registro,$cantidad,$usuario_crea,$cod_proveedor,$duracion,$num_doc){
        $ins = new ProductoMovimientoBR();
        $entity = new ProductoMovimiento();
        $entity->cod_prod_almacen = $codigo;
        $entity->cod_movimiento = $cod_movimiento;
        $entity->cod_motivo = $cod_motivo;
        $entity->cod_proveedor = $cod_proveedor;
        $entity->fecha_registro = $fecha_registro;
        $entity->cantidad = $cantidad;
        $entity->duracion = $duracion;
        $entity->usuario_crea = $usuario_crea;
        $entity->num_doc = $num_doc;
        
        $result = $ins->insertar($entity);
        
        if($result == 1){
            $msg = ConstantesMensajes::K_MENSAJE_INSERT_OK;
        }else{
            $msg = ConstantesMensajes::K_MENSAJE_INSERT_NOOK;
        }
        return $msg;
    }
    
    function generarCodigo(){
        $cod = new ProductoMovimientoBR();
        $result = $cod->generarCodigo();
        return json_encode($result);
    }
    
    function mostrarProductoMovimientoGrilla($num_doc,$producto,$cod_movimiento,$fecha_registro, $page, $limit, $sidx, $sord){
        $bus = new ProductoMovimientoBR();
        $entity = new ProductoMovimiento();
        $entity->num_doc = $num_doc;
        $entity->producto = $producto;
        $entity->cod_movimiento = $cod_movimiento;
        $entity->fecha_registro = $fecha_registro;
        
        $count = $bus->numeroRegistro($num_doc,$producto,$cod_movimiento,$fecha_registro);
        
        if ($count > 0) {
            $total_pages = ceil($count / $limit);
        } else {
            $total_pages = 0;
        }
        if ($page > $total_pages){
            $page = $total_pages;
        }
        $start = $limit * $page - $limit;
        $responce->page = $page;
        $responce->total = $total_pages;
        $responce->records = $count;
        $i = 0;
        
        $productomovimiento = $bus->BuscarSearch($entity, $start, $limit, $sidx, $sord);
        
        if(sizeof($productomovimiento)){
            foreach ($productomovimiento as $fila){
                $responce->rows[$i]['id'] = $fila->num_doc;
                $responce->rows[$i]['cell'] = array($fila->num_doc,$fila->cod_prod_almacen,$fila->producto,$fila->cantidad, $fila->cod_movimiento,$fila->movimiento,$fila->cod_motivo,$fila->motivo,$fila->cod_proveedor,$fila->proveedor,$fila->fecha_registro);
                $i++;
            }
        }
        return json_encode($responce);        
    }
?>